﻿using Abp.Domain.Entities;
using System;
using System.ComponentModel.DataAnnotations;

namespace Mt.Site.Core.AccessStatistics.Entities
{
    public class AccessGeneral :Entity
    {
        /// <summary>
        /// 最近一次有访问记录的日期
        /// </summary>
        public DateTime? LastVisitedDate { get; set; }

        /// <summary>
        /// 第一条访问记录的日期
        /// </summary>
        public DateTime? StartTime { get; set; }

        public bool HasImportIpData { get; set; }

        public long Pv_TotolNum { get; set; }  //浏览量 累计
        public long Uv_TotolNum { get; set; }  //访客数 累计
        public long Ip_TotolNum { get; set; }  //Ip数 累计
        public long New_TotolNum { get; set; }  //新访客数 累计
        public long Tiaochu_TotolNum { get; set; }  //跳出数 累计
        public long LengthOfStay_Totol { get; set; } //所有页面停留时间之和

        public long Pv_Max_InADay { get; set; } //浏览量最大值
        public DateTime? Pv_Max_InADay_Date { get; set; } //浏览量最大值的日期
        public long Uv_Max_InADay { get; set; } //访客量最大值
        public DateTime? Uv_Max_InADay_Date { get; set; } //访客量最大值的日期
        public long Ip_Max_InADay { get; set; } //Ip量最大值
        public DateTime? Ip_Max_InADay_Date { get; set; } //Ip量最大值的日期
        public long Tiaochu_Max_InADay { get; set; } //跳出量最大值
        public DateTime? Tiaochu_Max_InADay_Date { get; set; } //跳出量最大值的日期
        public long New_Max_InADay { get; set; } //新访客数最大值
        public DateTime? New_Max_InADay_Date { get; set; } //新访客数最大值的日期
        public long LengthOfStay_Max_InADay { get; set; } //页面停留时间之和 最大值
        public DateTime? LengthOfStay_Max_InADay_Date { get; set; } ///页面停留时间之和 最大值的日期

        public long Pv_Today { get; set; } 
        public long Uv_Today { get; set; }  
        public long Ip_Today { get; set; }  
        public long New_Today { get; set; } 
        public long Tiaochu_Today { get; set; } 
        public long LengthOfStay_Today { get; set; }

        public long Pv_Month { get; set; }
        public long Uv_Month { get; set; }
        public long Ip_Month { get; set; }
        public long New_Month { get; set; }
        public long Tiaochu_Month { get; set; }
        public long LengthOfStay_Month { get; set; }

        public long Pv_Yestoday { get; set; }
        public long Uv_Yestoday { get; set; }
        public long Ip_Yestoday { get; set; }
        public long New_Yestoday { get; set; }
        public long Tiaochu_Yestoday { get; set; }
        public long LengthOfStay_Yestoday { get; set; }

        public long Pv_Year { get; set; }
        public long Uv_Year { get; set; }
        public long Ip_Year { get; set; }
        public long New_Year { get; set; }
        public long Tiaochu_Year { get; set; }
        public long LengthOfStay_Year { get; set; }

        [StringLength(10)]
        public string TenancyName { get; set; }
    }
}
